package com.wmh.baseservice.skd.service;

import com.wmh.baseservice.common.mybatisplus.methods.CommonService;
import com.wmh.baseservice.skd.pojo.SkdGoodsSpec;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author wmh generator
 * @since 2022-03-09
 */
public interface SkdGoodsSpecService extends CommonService<SkdGoodsSpec> {
    /**
     * 根据商品id获取对应商品规格列表
     * @param id 商品id
     * @return 返回对应商品规格列表
     */
    List<SkdGoodsSpec> getGoodsSpecListByGoodsId(Long id);

    /**
     * 根据商品id获取不同商品规格的价格列表
     * @param goodsId 商品id
     * @return 返回不同商品规格的价格列表
     */
    List<SkdGoodsSpec> getPriceRangeByGoodsId(Long goodsId);

    /**
     * 根据商品规格id获取商品规格描述
     * @param goodsSpecId 商品规格id
     * @return 返回商品规格描述
     */
    String getDescById(Long goodsSpecId);

    /**
     * 根据商品规格id获取商品规格图像地址
     * @param goodsSpecId 商品规格id
     * @return 返回商品规格图像地址
     */
    String getGoodsImageUrlById(Long goodsSpecId);

    /**
     * 根据商品规格id获取商品规格价格
     * @param goodsSpecId 商品规格id
     * @return 返回商品规格价格
     */
    BigDecimal getGoodsPriceById(Long goodsSpecId);

    /**
     * 根据商品id删除商品规格
     * @param goodsId 商品id
     * @return 返回是否删除成功
     */
    boolean deleteByGoodsId(Long goodsId);

}
